/**
 * 组件对象
 */
var Vector = function (x, y) {
	this.x = x || 0;

	this.y = y || 0;
};

Vector.prototype = {
	add: function (v) {
		this.x += v.x;

		this.y += v.y;

		return this;
	},

	length: function () {
		return Math.sqrt(this.x * this.x + this.y * this.y);
	},

	rotate: function (theta) {
		var x = this.x;

		var y = this.y;

		this.x = Math.cos(theta) * this.x - Math.sin(theta) * this.y;

		this.y = Math.sin(theta) * this.x + Math.cos(theta) * this.y;

		//this.x = Math.cos(theta) * x - Math.sin(theta) * y;

		//this.y = Math.sin(theta) * x + Math.cos(theta) * y;

		return this;
	},

	mult: function (f) {
		this.x *= f;

		this.y *= f;

		return this;
	},
};

export default Vector;
